The use of communication devices in every aspect of our daily lives has increased dramatically over recent years. With the proliferation of communication devices such as personal trusted devices, it has become more and more important to protect the critical data used by the device. One popular feature of personal trusted devices is the use of electronic vouchers or tickets. A user of a personal trusted device may receive and store electronic tickets in the memory of the device and use them as payment for services provided by a third-party. For example, electronic tickets can be used to pay for admission to public events, riding, public transportation, etc. The tickets are generally paid for in advance and credited to the user of the terminal by a trusted third-party, or they are charged from the user by the operator through phone billing. However, although the use of electronic ticketing provides increased flexibility for the average consumer, it raises new security issues for third-parties that issue the electronic tickets.
For example, the issuer of a ticket may want to prevent a user of a personal trusted device from modifying or duplicating an issued ticket to travel by public transportation. The right to travel on public transportation is delivered to a user as an electronic ticket that specifies a number of uses. However, if a user can some how modify or duplicate the ticket, the user may make an indefinite number of trips without having to pay the issuer of the ticket for each use.
Various methods of cryptography have been used to protect against undetectable modification or duplication of critical data. Cryptography involves the encoding or encrypting of digital data to render it incomprehensible by all but the intended recipients. In other words, the data is encrypted and the decryption key is delivered to those terminals or users that have paid to use the data. To this end, cryptographic systems can be used to preserve the privacy and integrity of the data by preventing the use and alteration of data by unauthorized parties. In addition to encryption, authentication of the origin of data is used in order to make sure that e.g., only a party who has the right key can generate the right signature of message authentication code (MAC).
For example, a plaintext message consisting of digitized sounds, letters and/or numbers can be encoded numerically and then encrypted using a complex mathematical algorithm that transforms the encoded message based on a given set of numbers or digits, also known as a cipher key. The cipher key is a sequence of data bits that may either be randomly chosen or have special mathematical properties, depending on the algorithm or cryptosystem used. Sophisticated cryptographic algorithms implemented on computers can transform and manipulate numbers that are hundreds or thousands of bits in length and can resist any known method of unauthorized decryption. There are two basic classes of cryptographic algorithms: symmetric key algorithms and asymmetric key algorithms.
Symmetric key algorithms use an identical cipher key for both encrypting by the sender of the communication and decrypting by the receiver of the communication. Symmetric key cryptosystems are built on the mutual trust of the two parties sharing the cipher key to use the cryptosystem to protect against distrusted third parties. A well-known symmetric key algorithm is the National Data Encryption Standard (DES) algorithm first published by the National Institute of Standards and Technology. See Federal Register, Mar. 17, 1975, Vol. 40, No. 52 and Aug. 1, 1975, Vol. 40, No. 149. The sending cryptographic device uses the DES algorithm to encrypt the message when loaded with the cipher key (a DES cipher key is 56 bits long) for that session of communication (the session key). The recipient cryptographic device uses an inverse of the DES algorithm to decrypt the encrypted message when loaded with the same cipher key as was used for encryption.
Asymmetric key algorithms use different cipher keys for encrypting and decrypting. In a cryptosystem using an asymmetric key algorithm, the user makes the encryption key public and keeps the decryption key private, and it is not feasible to derive the private decryption key from the public encryption key. Thus, anyone who knows the public key of a particular user could encrypt a message to that user, whereas only the user who is the owner of the private key corresponding to that public key could decrypt the message. This public/private key system was first proposed in Diffie and Hellman, “New Directions in Cryptography,” IEEE Transactions on Information Theory, November 1976, and in U.S. Pat. No. 4,200,770 (Hellman et al.), both of which are hereby incorporated by reference. The most commonly used public key system for encryption and signing is RSA public key cryptography. RSA is a public key encryption algorithm that was invented in 1977 and named after its inventors Rivest, Shamir and Adleman. A more recent development in the area of cryptography is the digital signature. The digital signature is a mechanism that does not involve secrets but it protects data from undetected change by associating the data with the owner of a specific private key. Thus, a digital signature tends to be extremely difficult to forge.
While standard cryptographic methods can be used to implement most aspects of secure ticketing, protection against copying requires that the ticket collecting device retain state information about previously used tickets. However, in an off-line ticket collection scenario with many different collecting devices (e.g., one on each bus), there is no common trusted storage shared by all collecting devices.
Therefore, it is desirable to provide a system, method and computer program product that provides secured ticketing in a communications device, such as e.g., personal trusted device using a tamper-resistant security element. The system, method and computer program product of the embodiment of present invention disclosed herein address this need.